/**
 * 通用js方法封装处理
 * Copyright (c) 2019 aidex
 */

export function replaceAll(text, stringToFind, stringToReplace) {
	if (stringToFind == stringToReplace) return this;
	var temp = text;
	var index = temp.indexOf(stringToFind);
	while (index != -1) {
		temp = temp.replace(stringToFind, stringToReplace);
		index = temp.indexOf(stringToFind);
	}
	return temp;
}

export function processImgTags(richText, prefix) {
  // console.log(richText, prefix);
  return richText.replace(/<img([^>]+)>/gi, (match, p1) => {
    // 查找 src 属性
    const srcRegex = /src=["']([^"']+)["']/;
    const srcMatch = match.match(srcRegex);
    if (srcMatch) {
      let originalSrc = srcMatch[1];
      // 检查 src 是否以 http(s) 开头
      if (/^https?:\/\//.test(originalSrc)) {
        // 如果 src 是以 http(s) 开头，直接添加样式
        return match.replace(/>/, ' style="max-width:100%; height:auto;" >');
      } else {
        // 如果 src 不是以 http(s) 开头，则替换 /dev-api 或 /prod-api 并添加前缀
        originalSrc = originalSrc.replace(/\/(dev|prod)-api/g, '');
        const newSrc = prefix + originalSrc;
        const imgTagWithNewSrc = match.replace(srcMatch[0], `src="${newSrc}"`);
        return imgTagWithNewSrc.replace(/>/, ' style="max-width:100%; height:auto;" >');
      }
    }
    // 如果没有匹配到 src 属性，则直接返回原字符串
    return match;
  });
}
